﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BUS;
using DTO;

namespace FastDeal.Control
{
    public partial class wuc_ChiTietDiaDiem : System.Web.UI.UserControl
    {
        int makhuyenmai;
        KhuyenMai km = new KhuyenMai();
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //Request mã khuyến mãi ở trong thanh trình duyệt
                makhuyenmai = int.Parse(Request.QueryString["ID"].ToString());
            }
            catch
            {
                //Lấy khuyến mãi cuối cùng trong csdl
                KhuyenMai_BUS db = new KhuyenMai_BUS();
                List<KhuyenMai> list = new List<KhuyenMai>();
                KhuyenMai km = new KhuyenMai();
                list = db.LayDanhSach_KhuyenMai();
                km = list[list.Count - 1];
                for (int i = list.Count - 1; i > 0; i-- )
                {
                    if (list[i].TinhTrang == 1)
                    {
                        km = list[i];
                        break;
                    }
                }
                makhuyenmai = km.MaKhuyenMai;
            }

            if (!IsPostBack)
            {
                LoadKhuyenMai();
            }

            //neu chua het thoi gian khuyen mai thi countdown
            if (TinhKhoangThoiGian())
            {
                //LoadSoLuongDatMua();
                Timer1.Enabled = true;
            }
        }


        /// <summary>
        /// Hàm load danh sách khuyến mãi lên trên wuc
        /// </summary>
        private void LoadKhuyenMai()
        {
            try
            {
                KhuyenMai_BUS db = new KhuyenMai_BUS();
                km = db.KhuyenMai_MaKhuyenMai(makhuyenmai);

                Page.Title = "ohMua! - " + km.TenKhuyenMai;
                lbTenDiaDiem.Text = km.TenKhuyenMai;
                lbTomTat.Text = km.TomTat;
                lbGia.Text = km.GiaKhuyenMai.ToString() + " VNĐ";
                lbGiaGoc.Text =  "Giá Gốc: " + km.GiaGoc.ToString() + " VNĐ";
                lbSoLuotMua.Text = km.TongSoNguoiMua.ToString() + " Lượt Mua";
                //linkMua.NavigateUrl = linkMua.NavigateUrl + km.MaKhuyenMai;

                lbDiemNoiBat.Text = km.DiemNoiBat;
                lbDieuKien.Text = km.DieuKien;
               

                //Xét tình trạng còn mua được không?
                if (km.ThoiGianKetThuc >= DateTime.Now && km.SoLuongToiDa >= km.TongSoNguoiMua)
                {
                    lbVanConMuaDuoc.Text = "Vẫn còn mua được";
                }
                else if (km.ThoiGianKetThuc > DateTime.Now && km.SoLuongToiDa >= km.TongSoNguoiMua)
                {
                    lbVanConMuaDuoc.Text = "Cháy hàng";
                }
                else
                {
                    lbVanConMuaDuoc.Text = "Hết Hàng";
                }

                //Lấy hình ảnh
                KhuyenMai_HinhAnh_BUS db3 = new KhuyenMai_HinhAnh_BUS();
                KhuyenMai_HinhAnh kmhinh = new KhuyenMai_HinhAnh();
                kmhinh = db3.LayDanhSachTheoMaKhuyenMai_KhuyenMai_HinhAnh(makhuyenmai)[0];


                HinhAnh_BUS db2 = new HinhAnh_BUS();
                List<HinhAnh> listhinhanh = new List<HinhAnh>();
                listhinhanh = db2.LayThongTin_HinhAnh(kmhinh.MaHinhAnh);
                hinh1.ImageUrl = listhinhanh[0].DuongDan.ToString();
                hinh2.ImageUrl = listhinhanh[1].DuongDan.ToString();
                hinh3.ImageUrl = listhinhanh[2].DuongDan.ToString();


                //Tính phần trăm cho khuyến mãi
                double phantram = Math.Round(((km.GiaKhuyenMai / km.GiaGoc) * 100), 0);
                lbPhanTram.Text = "-" + (100 -phantram).ToString()+ "%";
            }
            catch
            {
                Response.Redirect("~/ChiTietKhuyenMai.aspx");
            }

            if (pnNoiBaoQuanh.Height.Value != 0)
            {
                int tam = int.Parse(pnNoiBaoQuanh.Height.Value.ToString());
                tam = tam + 200;
                    pnNoiBaoQuanh.Height = tam;
            }
        }

        //Nhấn  nút mua

        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            if (Session["DaDangNhap"] == null || (bool)Session["DaDangNhap"] == false)
            {
                System.Web.HttpContext.Current.Response.Write("<SCRIPT language='javascript'>alert('Vui lòng đăng nhập để mua hàng!')</SCRIPT>");
            }
            else
            {
                string chuoi = "~/WebFormMuaHang.aspx?ID=" + makhuyenmai.ToString();
                Response.Redirect(chuoi);
            }
        }



        protected void Timer1_Tick(object sender, EventArgs e)
        {
            if (StartTimer() == false)
            {
                Timer1.Enabled = false;
                Response.Redirect(Request.Url.ToString());//<<===============URL
            }
        }

        public bool StartTimer()
        {
            int hs = int.Parse(hidGio.Value);
            int ms = int.Parse(hidPhut.Value);
            int ss = int.Parse(hidGiay.Value);

            TimeSpan ti = new TimeSpan(hs, ms, ss);
            if (ti.TotalSeconds <= 0) //het thoi gian khuyen mai
            {
                return false;
            }
            else
            {
                ti = ti.Subtract(new TimeSpan(0, 0, 1)); //giam 1 giay 
                string h = ((int)ti.TotalHours).ToString();
                string m = ti.Minutes.ToString();
                string s = ti.Seconds.ToString();

                if (h.Length < 2)
                {
                    h = "0" + h;
                }

                if (m.Length < 2)
                {
                    m = "0" + m;
                }

                if (s.Length < 2)
                {
                    s = "0" + s;
                }

                string str = h + " : " + m + " : " + s;
                lblCount.Text = str;

                //luu gia tri thoi gian 
                hidGio.Value = h;
                hidPhut.Value = m;
                hidGiay.Value = s;
            }
            return true;

        }


        private bool TinhKhoangThoiGian()
        {

            //KhuyenMai_BUS km = new KhuyenMai_BUS();
            DateTime bd = DateTime.Now;
            //string maKM = Request.QueryString["maKM"].ToString();

            DateTime kt = km.ThoiGianKetThuc;

            TimeSpan thg = kt.Subtract(bd);

            if (thg.TotalSeconds > 0) //neu chua het thoi gian khuyen mai
            {
                hidGio.Value = Math.Round(thg.TotalHours, 0).ToString();
                hidPhut.Value = thg.Minutes.ToString();
                hidGiay.Value = thg.Seconds.ToString();
                return true;
            }
            return false;
        }

    }
}